perm filename GETPTS.F4[P11,LCS] blob sn#570614 filedate 1981-03-09 generic text, type T, neo UTF8
C****** SUBRS  GETPTS, GUPDAT
 	SUBROUTINE GETPTS(NN)
C NN IS FIRST ITEM TO LOOK AT
	INTEGER PWDS
	COMMON/XRN/RN(1)  /KJY/ K,J /POSI/STFF(8),JJ2
	COMMON R2,JA,CENTR,J2,RJQ(18),RX6,JR,L,RDIS,VY,JQ(17)
	1/PTR/PWDS(1) /RINP/R(500),N(350),NP(250) /LIMIT/LIM,ITEM
	EQUIVALENCE (R4,RJQ(2)),(R5,RJQ(3)),(R6,RJQ(4))
	J=0
	K=0
C J AND K ARE COUNTERS FOR N AND NP ARRAYS.
	DO 1 M=NN,ITEM
	L=PWDS(M)
	RY=RN(L+1)
	IF(R2.GE.8)GO TO 3
C >=8 MEANS LOOK AT ALL STAVES
	IF(R2.NE.RN(L+2))GO TO 1
C SKIP IF NOT RIGHT STAFF NUM.
3	IF(R6.LE.0)GO TO 9
C  CHECK CODE NUM
	IF(R6.NE.RY)GO TO 1
9	IF(OUTLMT(R4,R5,RN(L+3)))GO TO 2
C  IN LIMITS?
	CALL GUPDAT(M,L,3)
C GO PUT AWAY POINTER TO P3 OF THIS ITEM
	K=K+1
	NP(K)=L
C  NP SAVES POINTER TO P3 FOR USE IN JUSTIFY ROUTINE
2	CNT=RN(L)
C  GET THE WD CNT
	IF(RY.EQ.2)GO TO 8
C FOR 'CENTERED' RESTS
	IF(RY.LT.4)GO TO 1
	IF(RY.GT.7)GO TO 1
	IF(RY.EQ.6)GO TO 6
C  TWO-ENDED ITEM?
7	IF(CNT.GT.3)GO TO 5
	GO TO 1
6	IF(CNT.LT.8)GO TO 8
	IF(RN(L+7).LT.0)GO TO 8
	IF(R(L+10).EQ.0)GO TO 8
	IF(R(L+8).LE.0)GO TO 8
C IGNORE P8 IF IT IS 0 OR -
	IF(OUTLMT(R4,R5,RN(L+8)))GO TO 8
C  IN LIMITS?
	CALL GUPDAT(M,L,8)
C PUT AWAY POINTER TO P8 FOR THIS BEAM
8	IF(CNT.LT.7)GO TO 5
	 IF(R(L+9).LE.0)GO TO 5
C  WON'T LOOK AT NEG. POS.
	IF(RY.EQ.2)GO TO 10
C   (NEW REST CENTERING)
	IF(R(L+8).NE.0)GO TO 10
	IF(R(L+7).GE.0)GO TO 5
C    USE R9 IF R9<0 AND (R8≠0 OR R7<0)
10	IF(OUTLMT(R4,R5,RN(L+9)))GO TO 1
C  IN LIMITS?
	CALL GUPDAT(M,L,9)
5	IF(RY.EQ.2)GO TO 1
	IF(OUTLMT(R4,R5,RN(L+6)))GO TO 1
C  IN LIMITS?
	CALL GUPDAT(M,L,6)
C PUT AWAY POINTER TO P6 FOR ALL 2-SIDED ITEMS.
1	CONTINUE
	END

	SUBROUTINE GUPDAT(M,L,KK)
	COMMON /KJY/ K,J /POSI/STFF(8),JJ2 /RINP/R(500),N(350),NP(250)
	J=J+1
	N(J)=L+KK
C SETS UP POINTERS FOR USE IN MOVES, ETC.
	IF(M.LT.JJ2)JJ2=M
	END